package config

import (
	"reflect"
)

var (
	ValueTypeOfConfig = reflect.TypeOf((*Config)(nil)).Elem()
)

type Config interface {
	Name() string
}

type ConfigDesc struct {
	Type reflect.Type

	Children    map[string]*ConfigDesc
	ChildrenMap map[string]map[string]*ConfigDesc
}

func NewConfigDesc() *ConfigDesc {
	return &ConfigDesc{
		Children:    make(map[string]*ConfigDesc),
		ChildrenMap: make(map[string]map[string]*ConfigDesc),
	}
}
